package com.nineclock.signIn.service;

import com.nineclock.common.entity.PageResult;
import com.nineclock.signIn.dto.SignInfoDTO;
import com.nineclock.signIn.dto.SignInfoListDTO;
import com.nineclock.signIn.excel.ExcelMember;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @author : Liu
 * @date : 2021/12/1 0001 17:11
 */
public interface SigInService {
    /**
     * APP: 签到
     * @param signInfoDTO
     */
    void SignInAPP(SignInfoDTO signInfoDTO);

    /**
     * PC: 导出签到列表
     * @param startTime
     * @param endTime
     */
    void export(String startTime, String endTime) throws Exception;

    /**
     * PC: 查询签到列表
     * @param startTime
     * @param endTime
     * @param page
     * @param pageSize
     * @return
     */
    PageResult<SignInfoListDTO> querySignList(String startTime, String endTime, Long page, Long pageSize);


    /**
     * APP: 查询本月签到记录
     * @return
     */
    List<SignInfoDTO> pagingSignCurrentUserByMonth();

    /**
     * APP: 获取当前用户当天签到次数
     * @return
     */
    int getDayCount();

    /**
     * PC: 导入签到列表
     * @param multipartFile
     */
    void importList(MultipartFile multipartFile) throws Exception;

    /**
     * 携入数据库
     * @param memberList
     */
    void saveSignIn(List<ExcelMember> memberList);
}
